#pragma once
#include "IBaseState.h"
#include "../core/CCamera.h"
#include "../gameobjects/CBaseObject.h"

class CObjectManager;
class CPlayerObject;
class CBaseEnemy;
class CEnemySpawner;
class CGameState : public IBaseState
{
	// for testing - remove later //
	char displayChar[2];

	CEnemySpawner* enemySpawner;
	/////////////////////////////////

	CCamera m_Camera;
	CObjectManager* m_pObjMan;
	CPlayerObject* m_pPlayer;
public:
	CGameState(void);
	~CGameState(void);
	
	void Enter();
	void Input(CRetroInput* pInput);
	void Update(float fDeltaTime);
	void Render(CDirect3D* pRender);
	void Exit();
	inline StateType Type() { return STATE_GAME;}
};

